/*
 * @Description: 
 * @Version: 1.0
 * @Autor: c-jack.qian
 * @Date: 2021-04-13 15:15:22
 * @LastEditors: c-jack.qian
 * @LastEditTime: 2021-04-13 19:39:40
 */
//公共模块
const path = require('path')
const { DefinePlugin } = require("webpack");
const VueLoaderPlugin = require("vue-loader/lib/plugin"); 
module.exports = {
    // 打包入口文件
    entry: './src/main.js',
    // 输出文件 
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js'
    },
    module: {
        rules: [
            // 代码检测
            {
                test: /\.(vue|js)$/,
                exclude: /node_modules/,
                use: 'eslint-loader',
                enforce: 'pre'
            },
            // 解析和转换.vue文件 
            {
                test: /\.vue$/,
                use: 'vue-loader',
            },
            // 把es6已经新特性转换成es5
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: 'babel-loader'
            },
            // 解析和转换.png文件
            {
                test: /\.png$/,
                use: {
                    loader: 'url-loader',
                    // 大于10k 直接走file-loader
                    options:{
                        limit: 10 * 1024 , //10k
                        esModule: false,
                    }
                }
            }
        ]
    },
    plugins: [
        // vue加载器插件
        new VueLoaderPlugin(),
        // 配置全局变量
        new DefinePlugin({
            //定义BASE_URL index.html中需要使用
            BASE_URL: "/public/"
          }),
          
    ]
}